home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Komputer 2010 April
/
PCWorld0410.iso
/
pluginy Firefox
/
4490
/
4490.xpi
/
chrome
/
wmn.jar
/
content
/
pref-script.js
< prev
next >
Wrap
Text File
|
2010-01-06
|
4KB
|
96 lines
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is WebMail Notifier.
*
* The Initial Developer of the Original Code is
* Byungwook Kang.
* Portions created by the Initial Developer are Copyright (C) 2007
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
const Ci=Components.interfaces;
const dout=Components.utils.reportError;
var script={
onLoad:function(){
this.wmn = Components.classes["@mozilla.org/WebMailNotifier;1"]
.getService(Ci.nsIWebMailNotifier);
this.main=window.arguments[0];
this.list=this.wmn.getScriptList({});
this.list.sort();
for each(var o in this.list)this.addItem(o,this.wmn.getScriptVal(o,"ver"));
},
onAdd:function(){
var fp = Components.classes["@mozilla.org/filepicker;1"]
.createInstance(Ci.nsIFilePicker);
fp.init(window, "Open",Ci.nsIFilePicker.modeOpen);
fp.appendFilter ("Javascript","*.js");
fp.appendFilters(Ci.nsIFilePicker.filterAll);
var rv = fp.show();
if (rv == Ci.nsIFilePicker.returnOK)
{
var file=fp.file;
var fname = file.leafName;
var fnd=fname.match(/(.+)(\.\S+?)$/);
if(fnd)fname=fnd[1];
var str=this.wmn.loadFile0(file);
var inList=this.main.addScript(fname,str);
var ver=this.wmn.getScriptVal(fname,"ver");
if(!inList){
this.list.push(fname);
this.addItem(fname,ver);
}else{
var em=document.getElementById("id"+fname);
em.setAttribute("label",fname+(ver?"("+ver+")":""));
}
}
},
onDelete:function(){
var obj=document.getElementById("wmn-scripts");
var index=obj.selectedIndex;
if(index<0)return;
var o=this.list[index];
this.list.splice(index,1);
obj.removeItemAt(index);
this.wmn.deleteFile("wmn/"+o+".js");
if(o.indexOf("lib-")!=0){
this.wmn.removeHost(o);
this.main.removeHost(o);
}
},
addItem:function(name,ver){
var em = document.createElement("listitem");
var ch = document.createElement("listcell");
ch.setAttribute("label",name+(ver?"("+ver+")":""));
ch.id="id"+name;
em.appendChild(ch);
document.getElementById("wmn-scripts").appendChild(em);
}
}